昨天介紹完淺層神經網路程式,今天要來研究CNN卷積神經網路:
卷積神經網路由一個或多個卷積層和頂端的全連通層和關聯權重和池化層組成,如圖:
(資料來源:https://wiki.tum.de/display/lfdv/Convolutional+Neural+Networks)
而卷積神經網路在圖片和語音辨識上有著不錯效果,現在我打算建立:
一層卷積,一層池化層,一層全連階層:
首先先介紹一下:
1.卷積層: 是一組特徵圖,它通過在輸入圖像上滑動不同的卷積核並執行一定的運算而組成,會有一組filter(通常是2X2,3X3),然後對著整張圖片去做卷積運算(有點像從左上開始到右下每2X2或3X3去做成積)通常這麼做的目的是為了找一些圖片特徵:EX:輪廓
2.池化層: 圖片的相鄰像素通常具有相近的值,因此卷基層中很多數值是多餘的,需要通過池化來減少這個影響,通常可以使用最大,最小或平均的方式(意思是取那一塊卷積中(最大\最小\平均)的值)
EX:使用max-pooling
3. 全連階層: 有分類器作用,基本上是將學到的特徵表示映射到樣本標記空間,之後通過激活函數,來決定他們分類為哪一類,而激活函數EX: softmax就是把特徵轉成概率的一個模式,之後分類結果會依照softmax中最大值(代表機率最大值來做為分類依據)
所以整個概念如圖:
(資料來源: https://zhuanlan.zhihu.com/p/102119808)
那之後會使用CNN經典資料,手寫辨識集mnist來做示範
基本上只要安裝python,之後在終端輸入pip install mnist
接下來只要在程式打import mnist就可以直接使用此資料
好,今天CNN概念算是完成,明天就來研究CNN的正向傳播程式
此時的娃娃正飛在空中,往森林入口出發,他想趕快回到男孩身邊,他聽到男孩胸口發出的歌聲,不是自己的後,他知道男孩快脫離他的掌控,所以他要趕快回去,重新掌握主導權,但任憑他怎麼前進都看不到出口位置,娃娃舉起手想把樹給彈飛,但毫無反應,而娃娃嘴巴裂縫和眼睛開始流出鮮血,但娃娃自己並沒有察覺,此時在木屋外,男子的冰塊下方也流出鮮血,那鮮血流著地面後,就悄然的鑽進土裡消失了,而狐狸的冰塊下方掉落了一片羽毛,羽毛隨著風慢慢飄向森林的入口
--|我會追尋你,這是唯一意義|-- CS.MM/MS.CM/MC.SM